#include <iostream>

using namespace std;
const int N=1e3*6+10;

int dp[N];

int main()
{
	int n,m;
	cin>>n>>m;
	
	for(int i=1;i<=n;i++)
	{
		int v,w,s;
		cin>>v>>w>>s;
		for(int j=1;j<=s;s-=j,j*=2)
		{
			for(int z=m;z>=j*v;z--)
			{
				dp[z]=max(dp[z],dp[z-j*v]+j*w);
			}
		}		
		if(s)
		{
			for(int z=m;z>=s*v;z--)
			{
				dp[z]=max(dp[z],dp[z-s*v]+s*w);
			}
		}
		

	}
	cout<<dp[m];
	return 0;
}
